The present invention relates generally to the field of computer devices, and more specifically concerns apparatus which performs data management functions within a data search device, and which, in response to requests from a computer, controls the storage, retrieval, and modification of data in peripheral memory.
In U.S. Pat. No. 3,906,455, titled Associative Memory Device, which is assigned to the same assignee as that of the present invention, apparatus is disclosed and claimed which is asynchronously responsive to a request from a using computer to locate and retrieve information which is stored in peripheral memory. The peripheral memory may be a mass storage device, such as a Block Oriented Random Access Memory (BORAM).
As is stated in the '455 patent, peripheral memory is often a necessary addition to existing digital computers. Many data bases to which a computer must have access in order to execute particular applications exceed 10.sup.6 characters. Such data bases cannot be practically stored in computer main memory, primarily because of cost, and hence are stored in less expensive peripheral memory. Peripheral mass memory, such as discs and drums, are relatively inexpensive, but retrieval of stored data is slow when the memory is searched sequentially, which is typically the case. Retrieval time may be improved by either: (1) uniquely addressing each record in peripheral memory and then indexing that address in software; or (2) searching each record in peripheral memory simultaneously, i.e. by a parallel search. This type of simultaneous search is referred to hereinafter as a true associative search.
The first solution above is expensive because of its high use of computer resources and supporting manpower. This is especially true for large data bases, since the indexing process quickly becomes extremely complicated as data is moved in and out of the peripheral memory. The second solution has been found to be impractical and hence unsatisfactory, because of the high cost of the hardware necessary to search all the records in the peripheral memory simultaneously.
In the '455 patent, a device referred to as an associative memory device was disclosed and claimed which combined the principles of sequential and parallel searching, by dividing the peripheral memory into groups of memory elements, e.g. track groups. The associative memory device is operative to search the data contained in a particular track group simultaneously, and to search the track groups comprising a search area sequentially.
The number of data tracks comprising a track group depends upon the cost restraints placed upon the design of the search device. Generally, the more data which is searched in parallel, and hence the faster the search, the more logic is required and hence, the higher the cost of the search apparatus. Hence, there is a tradeoff between retrieval time and cost in the design of each search apparatus.
In the '455 patent, however, system data management functions of the associative memory device, such as controlling the queuing of the requests from using computers, the sequencing of the various search operations, and the controlling of the movement of data between peripheral memory and the using computer, were not disclosed in detail, but rather were understood to be performed by software existing within the using computers in combination with some additional conventional hardware.
It has been found, however, that the control and implementation of data management functions by software has significant disadvantages, particularly in the associative memory device of the '455 patent. Performing such functions by software frequently results in duplicative data management programs in the using computers as well as making data base management, particularly updating, more difficult and cumbersome.
The present inventors have hence found it desirable to find an alternative to such traditional software means for controlling and implementing data management functions in an associative memory device.
In view of the above, it is a general object of the present invention to provide a data management apparatus which overcomes one or more of the disadvantages of the prior art discussed above.
It is another object of the present invention to provide such a data management apparatus which may be conveniently used with an associative memory device such as that disclosed in the '455 patent.
It is an additional object of the present invention to provide such a data management apparatus which is relatively inexpensive.
It is a still further object of the present invention to provide such a data management apparatus which is designed to accomplish a large number of special purpose data management functions by combining in specified sequences a relatively few general-purpose data management functions.
It is an additional object of the present invention to provide such a data management apparatus which controls the simultaneous access of several using computers, and/or of several applications on one using computer, to peripheral memory without creating logical inconsistencies in the data stored in the peripheral memory.
It is yet another object of the present invention to provide such a data management apparatus which is capable of quickly and accurately locating and retrieving information in peripheral memory, and further, in modifying, deleting and/or storing information in the peripheral memory, as well as adding and/or deleting data management information to selected blocks of data.
It is a still further object of the present invention to provide such a data management apparatus which performs other data management functions, including initialization of memory areas, unloading and loading of data in memory areas, and maintaining a record of available space in peripheral memory.